Awesome Vala
       
    
    
       
    
    
      A programming language using modern high level abstractions without
      imposing additional runtime requirements, by leaning on GLib and GObject.
    
    Contents
    
    Data Structures & Data Types
    
      - 
        Libgee - A utility
        library providing GObject-based interfaces and classes for commonly used
        data structures (lists, maps, queues, trees, etc.).
      
- 
        Graphene - A thin layer
        of types for graphic libraries. It provides common types needed to
        handle 3D transformations: points, triangles, rectangles, quads,
        quaternions, vectors, matrices, spheres, etc.
      
- 
        Numeric-GLib - A
        collection of numeric data types for GLib (and Vala) via GCC extensions.
        It includes 128 bit integers & floats, complex types, vectorized
        operations, and decimal types.
      
- 
        United - A library for
        unit manipulation (like kilograms, meters, etc).
      
Editor Plugins
    
      - 
        Vala Code - A
        plugin for VIsual Studio Code that enables basic autocompletion and
        syntax highlighting for Vala.
      
- 
        Vala-TMBundle
        - A TextMate bundle that provides Vala syntax highlighting, code
        completion, etc. Sublime Text 3 can also use this plugin.
      
- 
        language-vala-modern
        - Provides Vala language support in Atom. It’s a fork of the
        unmaintained “language-vala package”.
      
- 
        Vala Syntax 4 Sublime Text
        - A basic plugin for Sublime Text 3 that provides syntax highlighting.
      
Language Servers
    
      - 
        GVLS - A service that
        provides code completion and formatting for Vala. This does not
        currently work with Visual Studio Code due to missing details on the lsp
        implementation, but it does work with GNOME Builder.
      
- 
        vala-language-server
        - A language server that aims to provide code completion, formatting,
        syntax highlighting, and everything else according to the Language
        Server spec.
      
Graphic Libraries
    
      - 
        Cairo - A 2D graphics library
        with support for multiple output devices. This is pretty much the
        default library you get in Vala.
      
- 
        SDL2 - A cross-platform
        development library designed to provide low level access to audio,
        keyboard, mouse, joystick, and graphics hardware via OpenGL, Direct3D,
        and Vulkan. Bindings are included in Vala and will be available starting
        with Vala 0.52.
      
- 
        GRX - A graphics library for
        simple graphics displays (think 1-bit displays or Adafruit’s PiTFT
        displays). It also includes keyboard, mouse, joystick and touchscreen
        input support.
      
- 
        GEGL - A data flow based image processing
        framework, providing floating point processing and non-destructive image
        processing capabilities. Think of it as “Reactive Programming for
        Images”.
      
- 
        Babl - A dynamic, any to any, pixel
        format translation library.
      
GUI Programming
    
      - 
        GTK - The de facto library for GUI
        development in Vala. Bindings are included with the vala compiler.
      
      - 
        GStreamer - A powerful
        framework for creating multimedia applications.
      
XML & Data Serialization
    
      - 
        GXML - A GObject API
        for manipulating XML and a Serializable framework from GObject to XML.
      
- 
        Json-GLib -
        Implements a full JSON parser and generator using GLib and GObject, and
        integrates JSON with GLib data types.
      
- 
        libyaml-glib -
        The GLib binding of libyaml, plus a GObject builder that understands
        YAML.
      
Templating
    
      - 
        Compose - A functional
        templating library for Vala.
      
- 
        template-glib
        - A library for template expansion which supports calling into GObject
        Introspection from templates.
      
Numerical Computation
    
      - 
        vast - A project for
        generative modeling in Vala. Think of TensorFlow rewritten in Vala.
      
- 
        balistica - An
        open source ballistic simulation library. There’s a complete calculator
        here.
      
Crypto & Security
    
      - 
        GnuTLS - A secure communications
        library implementing the SSL, TLS and DTLS protocols and technologies
        around them. It provides a simple API to access the secure
        communications protocols as well as APIs to parse and write X.509, PKCS
        #12, and other required structures.
      
Web Development
    
      - 
        Valum - A Web
        micro-framework entirely written in Vala.
      
- 
        Ambition - A
        web framework written in Vala, with the MVC pattern in mind. Kinda
        unmaintained (someone could refactor it to use Valum under the hood, and
        maybe move it to Meson 😉)
      
IoC and Dependency Injection
    
      - 
        Vadi - An IoC Container
        developed in order to facilitate the usage of dependency injection for
        Vala developers.